package com.my.engine;

import com.dameng.dem.server.util.INotify;
import com.dameng.dem.server.util.Notify;
import com.dameng.dem.server.util.NotifyUser;
import com.dameng.domain.notifyDto;

public class MyNotify implements INotify {
    public static final String LINE_SEPARATOR =
            System.getProperty("line.separator");

    /**
     * @param user   通知接收者
     * @param notify 通知信息封装
     * @return 信息发送成功, 返回true, 信息发送失败, 返回false
     * @see com.dameng.dem.server.util.INotify#send(com.dameng.dem.server.util.NotifyUse
     * r, com.dameng.dem.server.util.Notify)
     */
    @Override
    public boolean send(NotifyUser user, Notify notify) {
        // 获取user对象数据，拼接用户信息
        StringBuilder userContent = new StringBuilder(256);
        userContent.append("用户ID：" + user.id);
        userContent.append(LINE_SEPARATOR);
        userContent.append("用户登录名：" + user.loginName);
        userContent.append(LINE_SEPARATOR);
        userContent.append("用户真实名：" + user.realName);
        userContent.append(LINE_SEPARATOR);
        userContent.append("用户手机号：" + user.phone);
        userContent.append(LINE_SEPARATOR);
        userContent.append("用户邮件地址：" + user.email);
        // 打印user相关信息
        System.out.println(userContent.toString());
        System.out.println(LINE_SEPARATOR);
        System.out.println(LINE_SEPARATOR);
        // 获取notify对象数据，拼接警告消息
        StringBuilder notifyContent = new StringBuilder(256);
        notifyContent.append("警告ID：" + notify.id);
        notifyContent.append(LINE_SEPARATOR);
        notifyContent.append("异常发现时间：" + notify.gmtHappen);
        notifyContent.append(LINE_SEPARATOR);
        notifyContent.append("警告生成时间：" + notify.gmtCreate);
        notifyContent.append(LINE_SEPARATOR);
        notifyContent.append("警告所属告警配置的名称：" + notify.alertName);
        notifyContent.append(LINE_SEPARATOR);
        notifyContent.append("警告所属的规则的名称：" + notify.ruleName);
        notifyContent.append(LINE_SEPARATOR);
        notifyContent.append("资源类型：" + notify.resType);
        notifyContent.append(LINE_SEPARATOR);
        notifyContent.append("警告所属的资源的名称：" + notify.resName);
        notifyContent.append(LINE_SEPARATOR);
        notifyContent.append("警告级别：" + notify.level);
        notifyContent.append(LINE_SEPARATOR);
        notifyContent.append("警告具体内容：" + notify.message);
        System.out.println(notifyContent.toString());

        // 上述代码为打印user和notify对象包含的信息
        // 用户可根据自身需求，将用户和警告相关信息发送至第三方系统


        notifyDto notifyDto = new notifyDto();




        // TODO
        return false;
    }
}